package com.xinlu.common.game.action;

import java.util.Date;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateUtils;

import com.xinlu.common.game.bo.BankBackBo;
import com.xinlu.common.game.bo.ConstantLstBo;
import com.xinlu.common.game.form.GrLszForm;
import com.xinlu.derek.common.BaseAction;
import com.xinlu.derek.common.BaseForm;
import com.xinlu.persistence.Users;
import com.xinlu.util.tool.DateUtil;
import com.xinlu.util.tool.PageObject;

public class GrLszAction extends BaseAction {

	GrLszForm fr = new GrLszForm();

	private BankBackBo bankBackBo;

	public void setBankBackBo(BankBackBo bankBackBo) {
		this.bankBackBo = bankBackBo;
	}

	@Override
	public String doExecute() throws Exception {
		return null;
	}

	@Override
	public void formInit() {
	}

	@Override
	public BaseForm getModel() {
		return fr;
	}

	/**
	 * 加载页面
	 * 
	 * @return
	 */
	public String loadPage() {

		fr.setCaiZhongs(ConstantLstBo.getCaiZhongs());
		fr.setLszLeiXings(ConstantLstBo.getlszLeiXings());

		initZjlx();

		if (ConstantLstBo.isNullOrEmpty(fr.getCrtYhm())) {
			Users user = (Users) getSession().getAttribute("userinfo");
			fr.setCrtYhm(user.getUsername());
		}
		
		Date date = new Date();
		String bgnDate = DateUtil.getFormatDate(DateUtil.YYYY_MM_DD, date);
		String endDate = DateUtil.getFormatDate(DateUtil.YYYY_MM_DD, DateUtils.add(date, 5, 1));
		fr.setBgnDate(bgnDate+ConstantLstBo.getBgnHMS(bgnDate));
		fr.setEndDate(endDate+ConstantLstBo.getBgnHMS(endDate));

		PageObject po1 = bankBackBo.loadTzjlLst(fr.getCrtYhm(), fr.getCaiZhong(), fr.getLszLeiXing(), fr.getBgnDate(), fr.getEndDate(),fr.getPn());

		List tzjlLst = po1.getItems();
		
		PageObject po2 = bankBackBo.loadCqklst(fr.getCrtYhm(), fr.getLszLeiXing(), fr.getBgnDate(), fr.getEndDate(),fr.getPn());
		List cqkLst = po2.getItems();
		
		for (int i = 0; i < cqkLst.size(); i++) {
			tzjlLst.add(cqkLst.get(i));
		}
		
		po1.setItems(tzjlLst);

		// 合并存取款以及投注记录
		fr.setPageObject(po1);

		return "grLsz";
	}

	/**
	 * 初始化资金类型
	 */
	private void initZjlx() {
		String zjlx = fr.getZjlx();

		if ("cqssc".equals(zjlx)) {
			fr.setCaiZhong("cqssc");
			fr.setLszLeiXing("--全部--");
		} else if ("hljssc".equals(zjlx)) {
			fr.setCaiZhong("hljssc");
			fr.setLszLeiXing("--全部--");
		} else if ("pls".equals(zjlx)) {
			fr.setCaiZhong("pls");
			fr.setLszLeiXing("--全部--");
		} else if ("fsd".equals(zjlx)) {
			fr.setCaiZhong("fsd");
			fr.setLszLeiXing("--全部--");
		} else if ("jxssc".equals(zjlx)) {
			fr.setCaiZhong("jxssc");
			fr.setLszLeiXing("--全部--");
		} else if ("ck".equals(zjlx)) {
			fr.setCaiZhong("--全部--");
			fr.setLszLeiXing("存款");
		} else if ("qk".equals(zjlx)) {
			fr.setCaiZhong("--全部--");
			fr.setLszLeiXing("取款");
		} else if ("pj".equals(zjlx)) {
			fr.setCaiZhong("--全部--");
			fr.setLszLeiXing("派奖");
		} else if ("fd".equals(zjlx)) {
			fr.setCaiZhong("--全部--");
			fr.setLszLeiXing("返点");
		} else if ("cd".equals(zjlx)) {
			fr.setCaiZhong("--全部--");
			fr.setLszLeiXing("撤单");
		} else {
			fr.setCaiZhong("--全部--");
			fr.setLszLeiXing("--全部--");
		}
	}

	/**
	 * 根据条件加载
	 * 
	 * @return
	 */
	public String loadLsz() {

		fr.setCaiZhongs(ConstantLstBo.getCaiZhongs());
		fr.setLszLeiXings(ConstantLstBo.getlszLeiXings());

		if (ConstantLstBo.isNullOrEmpty(fr.getCrtYhm())) {
			Users user = (Users) getSession().getAttribute("userinfo");
			fr.setCrtYhm(user.getUsername());
		}

		PageObject po1 = bankBackBo.loadTzjlLst(fr.getCrtYhm(), fr.getCaiZhong(), fr.getLszLeiXing(), fr.getBgnDate(), fr.getEndDate(),fr.getPn());

		List tzjlLst = po1.getItems();
		
		PageObject po2 = bankBackBo.loadCqklst(fr.getCrtYhm(), fr.getLszLeiXing(), fr.getBgnDate(), fr.getEndDate(),fr.getPn());
		List cqkLst = po2.getItems();
		
		for (int i = 0; i < cqkLst.size(); i++) {
			tzjlLst.add(cqkLst.get(i));
		}
		
		po1.setItems(tzjlLst);

		// 合并存取款以及投注记录
		fr.setPageObject(po1);

		return "grLsz";
	}

}
